home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / -in_the_mag- / emulation / computers / 99 / read.me < prev    next >
Text File  |  1997-12-12  |  6KB  |  147 lines

  1. Instructions for using TI99EMUL.EXE
  2. ===================================
  3.  
  4. Author:         Ton Brouwer
  5. Date:           07/05/93
  6.  
  7. 1. General
  8.  
  9. This TI-99/4A emulator was written in Turbo-C V2.0 on a simple XT-type PC. 
  10. The objective was simply to see if it 'could be done' and how fast such a
  11. program would be if run on a proper computer. It appears that the emulator
  12. still is slower than a real TI even when run on a 486-33 MHz. The speed is
  13. however reasonable on such a machine.
  14.  
  15. 2. How to start-up the emulator
  16.  
  17. The emulator can be booted from DOS with or without specifying a 
  18. configuration filename as an argument. If no argument is specified, the 
  19. emulator will look for the default configuration filename 'ticonfig.dat'.
  20. The configuration file contains a list of filenames plus memory addresses
  21. and some additional information, to facilitate a way of using different
  22. cartridges (e.g. Extended Basic or Editor/Assembler). If the configuration
  23. file cannot be found, a standard TI with just TI-BASIC will be configured.
  24. The exact format of the configuration file is explained in 'ticonfig.dat'.
  25. Some configurations ('c','exbas','assm') are included in this package.
  26. You can also use your own GROM dumps or even assemble a new console rom
  27. if you like. Be sure that the files 'rom.bin', 'grom*.bin' and 'diskrom.bin'
  28. are in the directory you start the emulator from. If all the ROM/GROM files
  29. have been loaded successfully, press a key to start the actual emulation.
  30.  
  31. NOTE-1: I added some 'bypasses' in the 'grom0.bin' file to speed-up the 
  32.         booting process, (e.g. the VDP isn't cleared, no character defs
  33.         loaded, because it isn't essential for this version).
  34.  
  35. NOTE-2: If you enter 'mode co40' in DOS before running the emulator
  36.         the display will resemble a TI a little bit better.
  37.  
  38. 3. What is supported and what's not?
  39.  
  40. 3.1 TMS-9900
  41.  
  42. Almost every TI-instruction is emulated, except for the following 
  43. instructions: LDCR,STCR,TB,SBO,SBZ. They are recognized, but no actual
  44. data is returned or written. The following instructions will cause an
  45. 'Illegal instruction' error: IDLE,RSET,CKON,CKOF,LREX, and so will all
  46. other opcodes that do not represent valid instructions. Opcode >0020 is
  47. illegal but it is used to trigger the 'DSK1' emulation in DSR's.
  48.  
  49. 3.2 CPU Memory
  50.  
  51. 64k RAM is available to the virtual processor, but banks 0,2 and 3 (ROM,DSR,
  52. CARTRIDGE) are write-protected by the software. When a memory-image file
  53. is loaded at location >9000 (reserved for GROM and SPEECH), the >7000->7FFF
  54. paging scheme as was used in the Extended Basic cartridge will kick in.
  55. This means the data will actually reside in the >9000->9FFF area, but it
  56. will appear in the >7000-7FFF area when paged in by a write action.
  57.  
  58. NOTE:   All ROM memory files (not GROM!) must have their even/odd bytes
  59.         swapped because of Intel's different internal word representation.
  60.         You can do this yourself or the loader can do it for you. See
  61.         'ticonfig.dat' for details.
  62.  
  63. 3.3 GROM
  64.  
  65. 64k of GROM is available for loading GPL programs or data. The GROM-write
  66. data port has been 'commented-out' in this version. I can't recall why
  67. I did that. Never mind, you won't really need it.
  68.  
  69. 3.4 VDP
  70.  
  71. The VDP is poorly emulated. This is mainly because a thorough emulation 
  72. would result in an unacceptable drop in performance. Right now only graphics
  73. mode and textmode are supported, and an offset is automatically subtracted
  74. when a charactercode above ASCII code 128 is encountered (Basic offset!). 
  75. All non-printable characters are emitted as solid blocks. 
  76.  
  77. 3.5 Sound
  78.  
  79. The sound-chip as well as the sound interrupt are partly emulated. Only
  80. channel one of the 'virtual soundchip' can be programmed, and the duration 
  81. of each tone is fixed to 500 milliseconds.
  82.  
  83. 3.6 Disk
  84.  
  85. Disk access is restricted to the loading and saving of program files. The
  86. DSR is case-insensitive (dsk1==DSK1) and a 'TIFILES' header is added when
  87. a program file is saved. This allows for easy exchange with a real TI.
  88. The DSK1 emulator is able to load program files with or without the
  89. 'TIFILES' header. If it encounters the header, it is skipped and not 
  90. interpreted. You can use BASIC 'OLD' and 'SAVE' and option 5 from the
  91. E/A menu. DIS/FIX 80 or DIS/VAR 80 files are not yet supported.
  92.  
  93. 3.7 Keyboard
  94.  
  95. The keyboard is emulated in keyboard mode 0 only. You can use the PC's
  96. keyboard buffer (something a real TI hasn't got!). The keyboard emulation
  97. kicks in when BL @>E is called and the first SBO instruction is encountered.
  98. The function keys F1..F9 are mapped on the TI's FCTN-1..9. 
  99. F10 produces ASCII-code 5 (QUIT). F4 (CLEAR) and F10 (QUIT) will not allways 
  100. work because they are parsed by a special CRU-based routine and by the 
  101. interrupt routine respectively.
  102. (A fix has been added for TI-BASIC 'break', but Extended Basic programs
  103. unfortunately cannot be halted...)
  104.  
  105. 3.8 Interrupts
  106.  
  107. No interrupts are executed explicitly. A 'fake' interrupt has been added to
  108. simulate the cursor-flash count down timer, and the sound-list processing
  109. interrupt. A part from that, no interrupts are handled. The fake interrupt
  110. will execute on every LIMI 2 instruction, which seemed to me the best place
  111. to put it (this means it will execute at least on every GPL instruction).
  112.  
  113. 4. Terminating the emulator
  114.  
  115. The only way to terminate the emulator is to press CTRL-C when a keyboard
  116. input is expected. (Otherwise nothing happens) Or you could of course allways
  117. switch off or reset your PC...
  118.  
  119. 5. The future...?
  120.  
  121. I cannot forecast what this emulator will evolve to. It may be impossible
  122. to emulate graphics fully on a PC with the poor performance prospects.
  123. We are thinking of using a windows environment like Xwindows or MS-Windows
  124. to implement the graphics. Untill then this emulator can only be used to
  125. play around with software that is mainly text-oriented.
  126.  
  127. 5. Feedback!
  128.  
  129. Please send your comments to me! I am providing this program for free,
  130. because I do not have the intention nor the hope that I will make a lot
  131. of money with it. However I will be very restrained in spreading the source
  132. code, to prevent dozens of slightly modified versions of coming into 
  133. circulation.
  134.  
  135. My address:     Ton Brouwer
  136.                 Dam 19
  137.                 4331 GE  MIDDELBURG
  138.                 e-mail: ton2@zld.rws.nl
  139.  
  140. Enjoy!
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.